package d3_collection_api;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;

public class CollectionAPTDDemo01 {
    public static void main(String[] args) {
        //目标: 掌握Collection提供的常用方法:是全部单列集合都可以使用
        //单列集合都实现了这个接口
        Collection<String> list = new ArrayList<>();
        //1、添加数据 boolean add(E e) ---->把给定的对象添加到当前集合中(泛型--->只接收引用数据类型)
        //public boolean add(E e)
        list.add("java1");
        list.add("java1");
        list.add("照明");
        list.add("照明");
        list.add("校招");
        list.add("姬霓太美");
        System.out.println(list);
        //2、清空集合
        //public void clear() -> 清空集合中所有的元素
//        list.clear();
        System.out.println(list);

        //3、判断集合是否为空
        //public boolean isEmpty() --> 判断当前集合中是否包含给定的对象
        System.out.println(list.isEmpty());

        //4、直接删除集合中的摸个数据: 默认只能删除第一个
        //public boolean remove(E e) -> 把给定的对象从集合中删除
        System.out.println(list.remove("java1"));



        //5、判断集合是否包含某个数据
        //public boolean contains(Object obj) -> 判断当前集合中是否包含给定的对象
        System.out.println(list.contains("java1"));
        System.out.println(list.contains("Java1"));

        //6、获取集合的大小(元素的个数)
        //public int size() --->返回集合中的元素个数
        System.out.println(list.size());

        //7、把集合转换成数组
        Object[] array = list.toArray();
        System.out.println(Arrays.toString(array));

        //拓展-------->转换成指定类型的数组
        String[] arrays = list.toArray(String[]::new);
        System.out.println(Arrays.toString(array));

        //8、拓展一下: 把别人的集合的数据加给自己
        Collection<String> c1 = new ArrayList<>();
        c1.add("java1");
        c1.add("java2");

        Collection<String> c2 = new ArrayList<>();
        c2.add("java1");
        c2.add("java2");

        //把c2集合的数据全部倒入给c1集合
        c1.addAll(c2);
        System.out.println(c1);
        System.out.println(c2);

    }
}
